package com.gxa.admin.mapper;

import com.gxa.admin.entity.vo.GoodsAuditVo;
import com.gxa.admin.param.GoodsParam;
import com.gxa.o2o.core.pojo.Goods;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface GoodsMapper {
    /**
     * 通过参数查询所有
     * @param param
     * @return
     */
    List<Goods> findByParam(GoodsParam param);

    /**
     * 查询所有未删除的
     * @return
     */
    List<Goods> findAll();



    int deleteByPrimaryKey(String goodsId);

    int insert(Goods record);

    int insertSelective(Goods record);

    Goods selectByPrimaryKey(String goodsId);

    int updateByPrimaryKeySelective(Goods record);

    int updateByPrimaryKey(Goods record);

    /**
     * 通过id批量删除（逻辑删除）
     * @param ids
     * @return
     */
    int updateDeletedByIds(@Param("ids")List<String> ids);

    /**
     * 通过id批量违规下架（将商品状态改为2），同时审核状态改为未审核
     * @param ids
     * @return
     */
    int updateOffShelfByIds(@Param("ids") List<String> ids);

    /**
     * 通过id批量审核通过
     * @param ids
     * @return
     */
    int updateAuditByIds(@Param("ids")List<String> ids);

    int audit( GoodsAuditVo goodsAuditVo);


}